package cn.tedu.ivos.user.controller;

import cn.tedu.ivos.base.response.JsonResult;
import cn.tedu.ivos.user.pojo.dto.UserLoginParam;
import cn.tedu.ivos.user.pojo.dto.UserQuery;
import cn.tedu.ivos.user.pojo.dto.UserSaveParam;
import cn.tedu.ivos.user.pojo.vo.UserVO;
import cn.tedu.ivos.user.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;

import java.util.List;
//你觉得你覅丹尼斯妇女
@RestController
@Slf4j
@Api(tags = "用户管理")
@RequestMapping("/v1/user")
public class UserController {
    @Autowired
    private UserService userServiceImpl;
//    @PostMapping("login")
//    @ApiOperation("登录方法")
//    //  @RequestBody  去掉该注解 参数通过查询字符串的格式自动映射
//    public JsonResult login( UserLoginParam userLoginParam){
//        log.debug("开始处理【用户登录】的业务，参数：{}", userLoginParam);
//        UserVO userVO = userServiceImpl.login(userLoginParam);
//        return JsonResult.ok(userVO);
//    }
    @GetMapping("select")
   // @PreAuthorize("hasAnyAuthority('/select')")  //没有学过--不要加
    public JsonResult selectUser(UserQuery userQuery){
        List<UserVO> userVOS = userServiceImpl.selectUser(userQuery);
        return JsonResult.ok(userVOS);
    }
    ///v1/user/save  dto
    @PostMapping("/save")
    public JsonResult save(UserSaveParam userSaveParam){
        userServiceImpl.save(userSaveParam);
        return JsonResult.ok();
    }
}
